home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 34 / Amiga Format CD34 (1998-11-20)(Future Publishing)(GB)[!][Christmas issue].iso / -seriously_amiga- / programming / c / mesa-2.6 / include / gl / outputhandler.h < prev   
C/C++ Source or Header  |  1998-10-01  |  3KB  |  94 lines

  1. /*
  2.  * AmigaMesaRTL graphics library
  3.  * Version:  2.0
  4.  * Copyright (C) 1998  Jarno van der Linden
  5.  *
  6.  * This library is free software; you can redistribute it and/or
  7.  * modify it under the terms of the GNU Library General Public
  8.  * License as published by the Free Software Foundation; either
  9.  * version 2 of the License, or (at your option) any later version.
  10.  *
  11.  * This library is distributed in the hope that it will be useful,
  12.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  14.  * Library General Public License for more details.
  15.  *
  16.  * You should have received a copy of the GNU Library General Public
  17.  * License along with this library; if not, write to the Free
  18.  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  19.  */
  20.  
  21.  
  22. /*
  23.  * outputhandler.h
  24.  *
  25.  * Version 1.0  01 Aug 1998
  26.  * by Jarno van der Linden
  27.  * jarno@kcbbs.gen.nz
  28.  *
  29.  * Version 2.0  13 Sep 1998
  30.  * by Jarno van der Linden
  31.  * jarno@kcbbs.gen.nz
  32.  *
  33.  * - SetIndexRGBTable added
  34.  * - Getting and setting of attributes added
  35.  * - Change in InitQuantizer interface
  36.  * - Renamed to outputhandler.h
  37.  * - Added parameter tags
  38.  *
  39.  */
  40.  
  41.  
  42. #ifndef OUTPUTHANDLER_H
  43. #define OUTPUTHANDLER_H
  44.  
  45.  
  46. #ifdef __cplusplus
  47. extern "C" {
  48. #endif
  49.  
  50.  
  51. #ifndef MAKE_OUTPUTHANDLERLIB
  52. #include "pragmas/outputhandler_pragmas.h"
  53. #endif
  54.  
  55. #include "mesadriver.h"
  56.  
  57. #include <utility/tagitem.h>
  58.  
  59. #define OH_Base            (AMRTL_CustomBase + 512)    /* Tags live with driver tags */
  60.  
  61. #define OH_Output        (OH_Base + 0)        /* Output handle */                /* ISG */
  62. #define OH_ColourBase    (OH_Base + 1)        /* Should be done through parameters */
  63. #define OH_ColorBase    (OH_ColourBase)        /* " */
  64. #define OH_NumColours    (OH_Base + 2)        /* " */
  65. #define OH_NumColors    (OH_NumColours)        /* " */
  66. #define OH_OutputType    (OH_Base + 3)        /* Type of output */            /* ISG */
  67. #define OH_Width        (OH_Base + 4)        /* Output width */                /*   G */
  68. #define OH_Height        (OH_Base + 5)        /* Output height */                /*   G */
  69. #define OH_ParameterQuery    (OH_Base + 6)    /* Prefs parameter string */    /*   G */
  70. #define OH_Parameters    (OH_Base + 7)        /* Prefs parameters */            /* IS  */
  71. #define OH_DriverBase    (OH_Base + 8)        /* Driver library base */        /* I   */
  72. #define OH_OutputQuery    (OH_Base + 9)        /* Supported output types */    /*   G */
  73. #define OH_RGBAOrder    (OH_Base + 10)        /* Desired RGBA byte order */    /*   G */
  74.  
  75. #define OH_CustomBase    (OH_Base + 512)
  76.  
  77. extern __asm __saveds int InitOutputHandlerA(register __a0 AmigaMesaRTLContext context, register __a1 struct TagItem *tags);
  78. extern int InitOutputHandler(AmigaMesaRTLContext context, Tag tag, ...);
  79. extern __asm __saveds void DeleteOutputHandler(void);
  80. extern __asm __saveds int ResizeOutputHandler(void);
  81. extern __asm __saveds int ProcessOutput(void);
  82. extern __asm __saveds void SetIndexRGBTable(register __d0 int index, register __a0 ULONG *rgbtable, register __d1 int numcolours);
  83. extern __asm __saveds ULONG SetOutputHandlerAttrsA(register __a0 struct TagItem *tags);
  84. extern ULONG SetOutputHandlerAttrs( Tag tag, ... );
  85. extern __asm __saveds ULONG GetOutputHandlerAttr(register __d0 ULONG attr, register __a0 ULONG *data);
  86.  
  87. #ifdef __cplusplus
  88. }
  89. #endif
  90.  
  91.  
  92. #endif
  93.  
  94.